/**
 * Copyright (C), 2019-2020, 宇信融汇
 * FileName: Person
 * Author:   xbliu
 * Date:     2020/6/28 15:56
 * Description: 实现类
 * History:
 * <author>          <time>          <version>          <desc>
 * xbliu           修改时间           版本号              描述
 */
package c_006;

/**
 * @Classname Person
 * @Description TODO
 * @Date 2020/6/28 15:56
 * @Created by xbliu
 */

/**
 * 多态：
 *  对应同一条指令（调用同一个名称的方法），不同的对象给予不同的反应（不同的方法实现）
 *  规则：
 *  1、必须要有继承关系；
 *  2、子类必须重新父类方法，如果子类具有父类相同的的方式显示，则不需要
 *  3、父类引用指向子类对象
 */
public class Person {
    public void feed(Pet pet) {
        pet.feed();
    }
//    public  void play(Pet pet){
//        if (pet instanceof Dog){
//            Dog dog = (Dog) Pet();
//        }else  if(pet instanceof Cat){
//            Cat cat = (Cat) Pet();
//        }else{
//            System.out.println("没有动物");
//        }
//    }

    public static void main(String[] args) {
        Person p = new Person();
        Pet dog = new Dog();
        Pet cat = new Cat();
        p.feed(dog);
        p.feed(cat);
    }

}
